Within many applications running on a computer system, there may be actions initiated by a user that trigger a series of processes to be performed by the system. After a user has triggered a particular action, control is transferred to the system to perform the series of processes. Control of the system conventionally would not return to the user until all processes have been completed. The series of processes may need to be performed on a plurality of data objects within the computer system. During this time, the user of the system must wait until the series of processes has been completed by the system and control of the system is transferred back to the user.
In modern computing, users are likely to become dissatisfied with a delay while processes are being performed by the system. A delay of only a few seconds may seem inconvenient to some users. Therefore, it is desirable to optimize the period of time a user must wait for a series of processes to be performed by the system.